package org.edu.modules.scheduleCommon.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

@TableName("ve_base_app_user")
@ApiModel(value = "ve_base_app_user对象", description = "用户信息")
@Data
public class VeBaseAppUser implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty("id")
    private String id;

    @ApiModelProperty("用户id")
    @TableField("user_id")
    private String userId;

    @ApiModelProperty("用户密码")
    @TableField("user_password")
    private String userPassword;

    @ApiModelProperty("md5密码盐")
    private String salt;

    @ApiModelProperty("用户工号")
    @TableField("user_name")
    private String userName;

    @ApiModelProperty("用户姓名")
    @TableField("real_name")
    private String realName;

    @ApiModelProperty("返回状态")
    private String status;

    @ApiModelProperty("用户类别(1老师 2学生)")
    @TableField("user_type")
    private String userType;

    @ApiModelProperty("用户手机号")
    @TableField("user_tel")
    private String userTel;

    @ApiModelProperty("状态（学生为空，0：招聘；1在职：2退休：3其他）")
    @TableField("status_val")
    private String statusVal;

    @ApiModelProperty("是否删除")
    @TableField("is_del")
    private String isDel;

    @ApiModelProperty("numbers")
    private String numbers;

    @ApiModelProperty("userApp")
    @TableField("user_app")
    private String userApp;

    @ApiModelProperty("创建时间")
    @TableField("create_time")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date createTime;

    @ApiModelProperty("修改时间")
    @TableField("update_time")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date updateTime;

    @ApiModelProperty("头像路径")
    @TableField("avatar_url")
    private String avatarUrl;

    @ApiModelProperty("密码强度")
    private String strength;

    @ApiModelProperty("邮箱")
    private String email;

    @ApiModelProperty("生日")
    private Date birthday;

    @ApiModelProperty("学历")
    private String education;

    @ApiModelProperty("学位")
    private String degree;

    @ApiModelProperty("联系地址")
    private String address;

    @ApiModelProperty("个性签名")
    private String signature;

    @ApiModelProperty("性别(0保密, 1男, 2女)")
    private String sex;
    @TableField(exist = false)
    private String oldPwd;
    @TableField(exist = false)
    private String newPwd;
    @TableField(exist = false)
    private String affirmPwd;
    @TableField(exist = false)
    private String roleId;
    @TableField(exist = false)
    private String roleName;
    @TableField(exist = false)
    private String deptId;
    @TableField(exist = false)
    private String deptName;
    @TableField(exist = false)
    private String birthdayName;
    @ApiModelProperty("接口用户id")
    @TableField(exist = false)
    private String interfaceUserId;
    @ApiModelProperty("创建企业用户的用户角色id")
    @TableField(exist = false)
    private Integer userRoleId;
}
